package cn.wolfcode.luowowo.article.mapper;

import cn.wolfcode.luowowo.article.domain.Attractions;
import cn.wolfcode.luowowo.article.domain.Destination;
import cn.wolfcode.luowowo.article.domain.DestinationTheme;
import cn.wolfcode.luowowo.article.domain.DestinationlThemeDetial;
import cn.wolfcode.luowowo.article.query.DestinationQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DestinationMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Destination record);

    Destination selectByPrimaryKey(Long id);

    List<Destination> selectAll(DestinationQuery qo);

    int updateByPrimaryKey(Destination record);

    List<Destination> selectDestByDeep(int deep);

    Destination selecOne(Long destinationId);

    List<Destination> selectHotdestTplByParentId(Long[] parentIds);

    List<Destination> selectHotdestTplByChinaId();

    List<Destination> getListAll();

    List<Destination> selectCountry(@Param("keyWord") char keyWord, @Param("region_id") Long region_id);

    List<Destination> selectTude(@Param("longitude") Double longitude, @Param("latitude") Double latitude);

    List<Destination> getDestByMonth(Long month);

    List<DestinationTheme> selectTheme();

    List<DestinationlThemeDetial> getDetailByTheme(Long themeId);

    List<Attractions> selectSpot(Long destId);
}